<?php
class View
{
	/*
	 * Lo script (file .phtml) che contiene la view 
	 */
	private $_viewScript;
	
	/* La view associata al controller segue le stesse naming convention del controller, ad eccezione di:
	 * - tutti i caratteri nel nome della view sono in minuscolo
	 * - l'estensione del file è ".phtml"
	 * - il file si trova nella cartella "view"
	 */
	public function __construct($viewScript) {
		$this->_viewScript = $viewScript;
	}
	
	/*
	 * mixed __get (string $var)
	 * Magic method __get, utilizzato per accedere ad attributi non definiti
	 * Se $var è stato impostato (implicitamente) via __set(), ne restituisce il valore
	 */
	public function __get($var) {
		if (isset($this->$var)) {
			if (is_array($this->$var)) return (array) $this->$var;	// php 5.2
			return $this->$var;
		}
	}
	
	/*
	 * Disegna la view su stdout
	 * Se non trova la view, ne utilizza una di default
	 */
	public function render() {
		if (file_exists($this->_viewScript)) {
			require_once($this->_viewScript);
		}
		else {
			require_once(APP_DIR . '/view/default.phtml');
		}
	}
	
}